<?php
ob_clean();

if (isset($_GET['url']) && $_GET['url'] === 'favicon.ico') {

	return;
} 

else {

	if(!$inicializadores) {

		include_once(JABEZ . 'config' . DS . 'Boot.ini.php');
		//Core\Uses\catchErros();
		include_once(PROJECT . 'config' . DS . 'Boot.ini.php');
		$inicializadores = TRUE;
	}

	if(Core\Uses\isContentCompression()) {

		//ob_start('ob_gzhandler');
	}

	header('Content-Type: text/html; charset='.Core\Uses\Ler('Core.coding.output').';', TRUE);

	try {

		mb_internal_encoding(Core\Uses\Ler('Core.coding.internal'));
	}

	catch(Exception $e) {

		throw \Core\Uses\Exception('Codificação interna do PHP é inválida, favor rever as configurações.');
	}

	if(in_array(mb_strtolower(ACTIVE_PROJECT), Core\Uses\Ler('Core.reservedAppsNames'))) {

		throw \Core\Uses\Exception('Nome: ['.ACTIVE_PROJECT.'] Reservado, escolha outro para sua aplicação.');
	}

	if(Core\Uses\Ler('Session.start')) {

		session_start();
	}
}
//$file =& file_get_contents(JABEZ.'Thread.php');
//echo mb_substr($file, 3);

	
//$b=Core\Libs\Extender\Diretorio::construirCaminhos()->adicionarCaminhos('Packages.Teste.Libs.Class2', PACKAGES . 'teste' . DS . 'app' . DS . 'libs2' . DS);
//\Core\Uses\Dump($b->arrayConfigMapaEstrutura['packages']);
//echo JABEZ . 'app' . DS . MODULES . 'mu-online' . DS . Core\Uses\Ler('Core.Module.mu-online.principal.diretorio.core') . DS . 'libs2' . DS;
//\Core\Uses\Dump($b->arrayConfigMapaEstrutura['plugins']);
//$b=Core\Libs\Configuracao\Configuracao::construir()->adicionarCaminhos('Root.App.Libs.Paths.Teste', PROJETO . 'app' . DS . 'hdjsd' . DS, TRUE, TRUE);
//Core\Uses\Dump($b);
//ExpedidorS::ClasseTeste
//(Libs.Class.Class2)
//Core.Extensions.Controllers.Component.Onjeto::Objeto
//Plugin(Teste):Mu-Online.Extensions.Controllers.Component.Onjeto::Objeto

//$teste=new Core\Libs\Registry\RegistryClass();
//$Cast =& new Core\Libs\Cast\Cast(10);
//\Core\Uses\Dump($Cast->getThrows());
//\Core\Uses\Dump($Cast->setThrows(TRUE));

//$Cast->__construct();

//echo $Cast->money('R$10.000,56', 'R$');
try{
//$b=$Cast->toObject(array('Nome' => 10));
//\Core\Uses\Dump($Cast->compareTo('Ronnye', '===', 'Ronnye'));
//\Core\Uses\Dump($Cast->setThrows(FALSE)->double(FALSE));
//echo $Cast->double('R$10.000,56');
//echo $Cast->money('R$10.000,56', '.', ',', 'US$');
}
catch(\Exception $e) {
	echo $e->getMessage();
}
//$teste2 =& $teste->teste('(Controller.Class.Php)Core.Libs(i).Teste().Objeto::Objeto');
//$teste2 =& $teste->teste('(Controller.Class.Php)Plugins(Teste).Extensions.Modules(Teste).Extensions.Models.Behaviors(k).Libs(i).Teste().Objeto::Objeto');
//$teste2 =& $teste->teste('(Controller.Class.Php)core.Libs(i).Teste().Objeto::Objeto');
//$teste2 =& $teste->_processarStringJabezInc('(Controller.Class.Php)plugins(Teste).Extension.Models.Behaviors(asa).Libs(i).Objeto::Objeto');
//$teste2 =& $teste->_processarStringJabezInc('Plugins(Teste).Libs.check.j.Objeto::Objeto');
//$teste2 =& $teste->_processarStringJabezInc('Plugins\\Teste\\Extensions\\Models\\Behaviors\\Libs\\lk\\Objeto\\Objeto');
//$teste2 =& $teste->_processarStringJabezInc('Core\\Extensions\\Models\\Behaviors\\Libs\\lk\\Objeto\\Objeto');

//$teste2 =& $teste->getClass('Core.Design.Layouts.Objeto::Objeto');
//\core\uses\dump($teste2);
//$teste2 =& $teste->_processarStringJabezInc('Core\\Extensions\\Modules\\Teste\\Extensions\\Models\\Behaviors\\Libs\\Objeto\\Objeto');
//$teste2 =& $teste->_processarStringJabezInc('(Controller.Class.Php)Core:a.Extensions.LIB-s(Class2).app.d.Objeto::Objeto');
//$teste->getFnc('Core.Libs(libs2).File::hello');

$Dispatcher =& new Core\Libs\Dispatcher\Dispatcher();
$Dispatcher->dispatch();
?>